// import axios, { type AxiosResponse } from "axios";

// const request = axios.create({
//   baseURL: "https://tea.qingnian8.com",
//   timeout: 1000,
//   headers: { "access-key": "dcwlhyj" },
// });

// interface ApiResp<T> {
//   errCode: string;
//   errMsg: string;
//   data: T;
//   author: string;
//   timeCost: number;
// }

// request.interceptors.response.use((value) => {
//   const { data } = value as AxiosResponse<ApiResp<any>>;

//   if (Number(data.errCode) === 0) {
//     return value.data;
//   } else if (Number(data.errCode) === 400) {
//     uni.showModal({
//       title: "请求出错",
//       content: value.data.errMsg,
//     });
//     return value;
//   }
//   return value;
// });

// export default request;

const BASE_URL = "https://tea.qingnian8.com/";

export default function request(config) {
  let { url, data = {}, method = "GET", header = {} } = config;

  url = BASE_URL + url;
  header["access-key"] = "dcwlhyj";

  return new Promise((resolve, reject) => {
    uni.request({
      url,
      data,
      method,
      header,
      success: (res) => {
        if (res.data.errCode === 0) {
          resolve(res.data);
        } else if (res.data.errCode === 400) {
          uni.showModal({
            title: "错误提示",
            content: res.data.errMsg,
            showCancel: false,
          });
          reject(res.data);
        } else {
          uni.showToast({
            title: res.data.errMsg,
            icon: "none",
          });
          reject(res.data);
        }
      },
      fail: (err) => {
        reject(err);
      },
    });
  });
}
